package com.yinhai.message.search.bpo;

import java.util.List;
import java.util.Map;

import com.yinhai.core.common.api.base.IPage;
import com.yinhai.message.core.po.MessageFilePo;
import com.yinhai.message.search.vo.MessageInfoVo;
/**
 * 
 * @author yanglq
 * 2017.4.10
 */
public interface IMessageSearchBpo {
	/**
	 * 获取消息
	 * @param systemid
	 * @param userid
	 * @return
	 */
	List<MessageInfoVo> getMessage(String systemid, String userid, String pageid, int num, String messageType);
	/**
	 * 轮询获取消息
	 * @param systemid
	 * @param userid
	 * @param pageid
	 * @param num
	 * @param messageType
	 * @return
	 */
	List<MessageInfoVo> getPollMessage(String systemid, String userid, String pageid, int num, String messageType);
	/**
	 * 更新消息状态
	 * @param mgid
	 * @param systemid
	 * @param userid
	 */
	void setMessageRead(String mgid, String systemid, String userid, String messageType);
	/**
	 * 获取消息附件
	 * @param mgid
	 * @return
	 */
	List<MessageFilePo> getMessageFile(String mgid);
	/**
	 * 获取需要下载的附件
	 * @param fileid
	 * @return
	 */
	MessageFilePo getMessageFileByid(String fileid);
	
	/**
	 * 远程查询消息接口
	 * @param map
	 * @return
	 */
	List<MessageInfoVo> queryMessage(Map<String, Object> map);
	
	/**
	 * 远程查询app消息接口
	 * @param map
	 * @return
	 */
	List<MessageInfoVo> queryAppMessage(Map<String, Object> map);
	/**
	 * 分页查询消息
	 * @param systemid
	 * @param userid
	 * @param messageType
	 * @param page
	 * @param limit
	 * @return
	 */
	IPage<MessageInfoVo> queryMessageForPage(String systemid, String userid, String messageType, int page, int limit);

    /**
     * 全部消息已读
     * @param systemid
     * @param userid
     * @param messageType
     */
    void setMessageAllRead(String systemid, String userid, String messageType);
}
